<?php

namespace app\middleware;

class Auth
{
    public function handle($request, \Closure $next)
    {
        //获取前端header请求信息并把token信息转在字符串
        $token = (string)$request->header('token');
        if (empty($token)) {
            return json(['status' => 500,'msg' => '缺少Token参数']);
        }
        //调用JWTAuth里面的checkAdminToken()方法对token解码
        $result = checkToken($token);
        //result得到包含有status/data字段的数据集
//        return $next($request);

        if ($result['status'] !== 10001) {
            //如果status 不等于10001，验证失败，返回错误提示
            return json(['status'=>501,'msg'=>$result['data']]);
        } else {
            //否则验证通过，把result里面data数据传给$request
            //经过测试，数据并不能传到￥request的header里面，也不知道怎么调用，很是烦躁
//            $request->loginMsg = $result['data'];
            //执行下一步代码
            return $next($request);
        }
    }
}
